0 CLS6:DIMC(6,3,7),X,Y,A,B,V,O,S,D,C:FORS=0TO6:FORO=0TO3:FORT=0TO7:READC(S,O,T):NEXTT,O,S:FORX=37TO480STEP32:PRINT@X,"";:NEXT:F=4:PRINT@176,"NEXT";:P=RND(7):PRINT@368,"";:PRINT@400,"";:PRINT@432,"";
1 PRINT@240,"";:PRINT@118,"     ";:PRINT@112,"CLEANS"CL;:PRINT@53,"      ";:PRINT@48,"POINT"SC;:GOSUB9:X=15:FORY=4TO29:K=PEEK(2)ANDPEEK(17023):A=X:B=Y-1:X=X+(K=65)-(K=68):V=O:O=O-(K=87)+(K=83):O=O*-(O<4)-(O<0)*3
2 RESET(A+C(S,V,0),B+C(S,V,1)):RESET(A+C(S,V,2),B+C(S,V,3)):RESET(A+C(S,V,4),B+C(S,V,5)):RESET(A+C(S,V,6),B+C(S,V,7))
3 C=POINT(X+C(S,O,4),Y+C(S,O,5))ORPOINT(X+C(S,O,6),Y+C(S,O,7))ORPOINT(X+C(S,O,0),Y+C(S,O,1))ORPOINT(X+C(S,O,2),Y+C(S,O,3))
4 T=Y:IFCTHENC=-(X<>A)-(O<>V):X=A:O=V:ONCGOTO3:T=B:Y=29:SC=SC+4:IFT=3THENPRINT@304,"PLAY AGAIN?";:FORT=1TO2STEP0:I$=INKEY$:T=-(I$="Y")*2:NEXT:SC=0:CL=0:P=RND(7):FORX=37TO480STEP32:PRINT@X,"";:NEXT:PRINT@304,"";:GOTO1
5 SET(X+C(S,O,0),T+C(S,O,1),D):SET(X+C(S,O,2),T+C(S,O,3),D):SET(X+C(S,O,4),T+C(S,O,5),D):SET(X+C(S,O,6),T+C(S,O,7),D):NEXT
6 Y=Y-1:C=0:FORX=10TO19:C=C-(POINT(X,Y)=0):NEXT:IFCTHENON-(C<10)GOTO6:F=Y:GOTO1:DATA-1,,,,1,,2,,,-1,,,,1,,2,-1,,,,1,,2,,,-1,,,,1,,2,-1,,,,1,,,1,,-1,,,1,,,1,,-1,-1,,,,1,,,-1,-1,,,,,1,-1,,,,1,,-1,1,,-1,,,,1
7 CL=CL+1:FORR=YTOFSTEP-1:FORQ=10TO19:IFPOINT(Q,R-1)THENSET(Q,R,0):NEXT:NEXT:Y=Y+1:GOTO6:DATA1,1,-1,,,,1,,1,-1,-1,-1,,-1,,,,1,-1,,,,1,,1,1,,-1,1,-1,,,,1,-1,-1,-1,,,,1,,,-1,,,-1
8 RESET(Q,R):NEXT:NEXT:Y=Y+1:GOTO6:DATA1,,1,,,1,,,1,1,1,,,1,,,1,1,1,,,1,,,1,1,1,,,1,,,1,1,1,,,1,,-1,1,,1,,-1,,,1,,1,1,,,1,,-1,1,,1,,-1,,,1,,1,1,-1,,,,,1,1,1,,-1,,,-1,,-1,1,-1,,,,,1,1,1,,-1,,,-1,,-1,1
9 D=P:S=D-1:P=RND(7):Z=P-1:T=14:X=36:O=0:SET(X+C(Z,O,0),T+C(Z,O,1),P):SET(X+C(Z,O,2),T+C(Z,O,3),P):SET(X+C(Z,O,4),T+C(Z,O,5),P):SET(X+C(Z,O,6),T+C(Z,O,7),P):O=RND(4)-1:RETURN
